Skip to main content

02 Linux基础命令

用户与密码

# passwd
Changing password for user root.
New password:
useradd cliu8
[root@deployer ~]# useradd -h
Usage: useradd [options] LOGIN
useradd -D
useradd -D [options]


Options:
-g, --gid GROUP name or ID of the primary group of the new account

# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
......
cliu8:x:1000:1000::/home/cliu8:/bin/bash


# cat /etc/group
root:x:0:
......
cliu8:x:1000:

浏览文件

  • cd directory_name:切换目录;
  • cd . :切换到当前目录;
  • cd ..:切换到上一级目录;
  • ls:列出当前目录下的文件。
# ls -l
drwxr-xr-x 6 root root 4096 Oct 20 2017 apt
-rw-r--r-- 1 root root 211 Oct 20 2017 hosts

第一个字段的第一个字符是文件类型,- 表示普通文件,d 表示目录。

剩下的 9 个字符是模式,即权限位(access permission bits),3 个一组,每一组 rwx 表示 读(read) 写(write) 执行(execute)。字母是有权限,横线是没权限。

三组分别表示文件所属的用户权限、组权限及其他用户权限。通过 chmod 711 hosts 改变权限。

第二个字段是硬链接(hard link)数目。

第三个字段是所属用户。

第四个字段是所属组。

第五个字段是文件的大小。

第六个字段是文件被修改的日期。

第七个是文件名。

通过 chown 改变所属用户,chgrp 改变所属组。

安装软件

CentOS 下:rpm -i jdk-XXX_linux-x64_bin.rpm

Ubuntu 下:dpkg -i jdk-XXX_linux-x64_bin.deb

rpm -qa/dpkg -l:查看安装的软件列表

rpm -qa | grep jdk/dpkg -l | grep jdk:通过关键词过滤查看安装的软件

rpm -qa | more/rpm -qa | less:分页查看,q 返回命令行

rpm -e/dpkg -r:删除软件

yum search jdk/apt-cache search jdk:使用软件管家搜索可安装的软件

yum install java-11-openjdk.x86_64/apt-get install openjdk-9-jdk:安装指定版本的软件

yum erase java-11-openjdk.x86_64/apt-get purge openjdk-9-jdk:删除软件

软件管家保存软件的统一服务器

Ubuntu 来讲,配置文件在/etc/apt/sources.list[base]
name=CentOS-$releasever - Base - 163.com
baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

deb http://mirrors.163.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ xenial-backports main restricted universe multiverse

安装软件本质:下载文件,将这些文件放在某个路径下,在相应的配置文件中配置一下。

主执行文件放在 /usr/bin 或 /usr/sbin 下,库文件放在 /var 下,配置文件放在 /etc 下。

Linux 默认支持 tar 格式压缩,若使用 zip 格式需额外安装:

yum install zip.x86_64 unzip.x86_64
apt-get install zip unzip
tar xvzf jdk-XXX_linux-x64_bin.tar.gz
export JAVA_HOME=/root/jdk-XXX_linux-x64
export PATH=$JAVA_HOME/bin:$PATH

永久配置环境变量:/root 或 /home/cliu8 下编辑.bashrc 文件,或通过 source .bashrc 手动执行。

运行程序

通过 shell 在交互命令行里运行

  • 文件有 x 执行权限,到文件所在的目录下,通过 ./filename 运行这个程序。
  • 如果 PATH 里设置了,可以在任意位置直接输入文件名运行,Linux 会根据 PATH 找。

后台运行

nohup command >out.file 2>&1 &

文件描述符 1,表示标准输出,文件描述符 2,表示标准错误输出,2>&1 表示标准输出和错误输出合并到 out.file 。

ps -ef |grep keyWord |awk '{print $2}'|xargs kill -9

ps -ef 可以单独执行,列出所有正在运行的程序,grep 通过关键字找到启动的程序。awk 可以对文本进行处理,awk '{print $2}' 指第二列的内容,即运行的程序 ID。通过 xargs 传递给 kill -9 关闭运行的程序。

以服务的方式运行

yum install mariadb-server mariadb
systemctl start mariadb
systemctl enable mariadb
# 在 /usr/lib/systemd/system 目录下创建 XXX.service 的配置文件成为一个服务
apt-get install mysql-server # 安装
systemctl start mysql # 启动
systemctl enable mysql # 设置开机启动
# /lib/systemd/system 目录下创建 XXX.service 的配置文件,定义如何启动、关闭
shutdown -h now # 立刻关机
reboot # 重启